package com.iot.ruler.caster;

import lombok.Getter;

/**
 * 主题
 * 发布者与订阅者的数据传递载体
 * 使用泛型 T 限定携带的数据类型
 *
 * @author lzb
 * @Date 2023/2/16 17:06
 */
@Getter
public abstract class RulerSubject<T> {
    private final long timestamp;

    private final T source;

    public RulerSubject(T source) {
        this.source = source;
        this.timestamp = System.currentTimeMillis();
    }

    String getClassName() {
        return getClass().getName();
    }
}
